package com.dd.cloud.user.service.aicms;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.dd.cloud.user.entity.aicms.AicmsDisease;
import com.dd.cloud.user.req.aicms.DepAndFindDiseaseReq;
import com.dd.cloud.user.res.aicms.DepAndFindDiseaseRes;
import com.dd.cloud.user.res.aicms.SearchRes;

import java.util.List;

/**
 * <p>
 * 服务类
 * </p>
 *
 * @author czg
 * @since 2022-04-27
 */
public interface IAicmsDiseaseService extends IService<AicmsDisease> {

    /**
     * 查询所有疾病
     *
     * @param depId 科室id
     * @param sex   性别
     * @param age   年龄
     * @return
     */
    List<AicmsDisease> queryDiseases(String depId, String sex, String age);

    /**
     * 疾病id查询子疾病
     *
     * @param jibingId 疾病id
     * @return
     */
    List<AicmsDisease> querySubDiseases(String jibingId, String sex, String age);

    /**
     * 关键字搜索疾病
     *
     * @param keyword
     * @return
     */
    List<AicmsDisease> search(String keyword);

    /**
     * 关键字搜索科室疾病症状
     *
     * @param keyword
     * @param timestamp
     * @param depId      科室id
     * @param nHaveChild
     * @return
     */
    List<SearchRes> searchAll(String keyword, String timestamp, String depId, Integer nHaveChild);

    /**
     * 查询科室和最终疾病
     *
     * @param req
     * @return
     */
    IPage<DepAndFindDiseaseRes> queryDepAndFindDisease(DepAndFindDiseaseReq req);
}
